Data migration is a technique employed by data storage facilities for upgrading a source storage system such as a storage controller to a target storage system. To migrate data from a source volume (e.g., a disk drive) of a source storage system to a target volume of a target storage system, the target storage system typically sequentially retrieves data blocks from the source volume, and saves them to the target volume.
Prior to starting data migration, host computers (e.g., database servers) disconnect from the source volume. Once data migration has started, the host computers connect to the target volume. Since there may be a short delay while the host computers disconnect from the source volume and connect to the target volume, the host computers typically shuts down applications, then disconnects from the source volume and connects to the target volume, thereby causing a downtime.
During data migration, if one of the host computers requests a data block that has not yet been migrated, the target storage system may suspend sequentially migrating data blocks from the source volume, migrates the data blocks requested by the host computer, and then resumes sequentially migrating the data blocks from the source volume to the target volume.